Process Analysis Toolkit  (PAT) 3.5 Help  
3.8 Orc Module

Service orchestration systems embrace the concept of Service Oriented Architecture (SOA) and is gaining popularity over the time. Many of such systems support concurrency, and it is known that concurrency bug is difficult to discover solely by testing, thus model checking such systems is crucial.

Orc is proposed as a powerful yet elegant language for distributed and concurrent programming which provides computational services such as distributed communication and data manipulation via sites. With a few concurrency primitives, programmers are able to orchestrate the invocation of sites to achieve a goal, and meanwhile, manage timeouts, priorities, and failures. To guarantee the correctness of Orc models, effective verification support is desirable.

Work Flow of CSP

The above illustrates the workflow of our approach. First, users can specify Orc models as well as various assertion properties via the editor. The input models of orchestration language and external services are compiled into internal representations (i.e., LTS), based on the operational semantics of Orc. On top of that Compositional Partial Order Reduction (CPOR) is applied. Linear Temporal Logic (LTL) assertions are subsequently translated into Büchi automata. Users can visualize the system behaviors via an animated simulator, or perform verification using different verifiers. If ever certain assertions or property is violated, a counterexample will be generated which can also be rendered in simulator.


 
Copyright © 2007-2012 Semantic Engineering Pte. Ltd.